/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ec.medical.servicio;

import javax.ejb.Local;

/**
 *
 * @author Administrador
 */
@Local
public interface CitaServicioLocal {

    @javax.ejb.TransactionAttribute(value = javax.ejb.TransactionAttributeType.NOT_SUPPORTED)
    public java.util.List<com.ec.medical.entidades.Cita> obtenerCitasPorPrestador(com.ec.medical.entidades.Prestador prestador, java.util.Date fechaDesde, com.ec.medical.enumeracion.EstadoCitaEnum estado);

    @javax.ejb.TransactionAttribute(value = javax.ejb.TransactionAttributeType.NOT_SUPPORTED)
    public java.util.List<com.ec.medical.entidades.Cita> obtenerCitasPorPrestador(com.ec.medical.entidades.Prestador prestador, java.util.Date fechaDesde, java.util.List<com.ec.medical.enumeracion.EstadoCitaEnum> estados);

    @javax.ejb.TransactionAttribute(value = javax.ejb.TransactionAttributeType.REQUIRED)
    public com.ec.medical.entidades.Cita obtenerCitaPorCodigo(com.ec.medical.entidades.Cita cita);

    @javax.ejb.TransactionAttribute(value = javax.ejb.TransactionAttributeType.REQUIRED)
    public com.ec.medical.entidades.Cita cancelarCita(com.ec.medical.entidades.Cita cita) throws com.ec.medical.exepciones.CitaException;

    public void actualizar(com.ec.medical.entidades.Cita cita) throws com.ec.medical.exepciones.CitaException;

    public boolean validadDisponibilidadHorario(com.ec.medical.entidades.Cita cita);

    public void crearCita(com.ec.medical.entidades.Cita cita) throws com.ec.medical.exepciones.CitaException;

    public java.util.List<com.ec.medical.entidades.Cita> obtenerCitasPorPrestadorEnFecha(com.ec.medical.entidades.Prestador prestador, java.util.Date fechaActual, com.ec.medical.enumeracion.EstadoCitaEnum estado);
    
}
